package com.tensquare.qa.dao;

import com.tensquare.qa.pojo.Problem;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;

public interface ProbelemDao extends JpaRepository<Problem,String>,JpaSpecificationExecutor<Problem> {
    /**
     * 查询最新问题列表
     * @param
     * @param
     * @return
     * 下面的查询使用的是本地sql查询，在工作中经常使用，其中labelid=?1,代表使用的是参数
    列表中的第一个参数，如果是第二个参数，则用?2
     */
    @Query(nativeQuery = true ,value = "SELECT * FROM tb_problem p,tb_pl p1 WHERE p.`id`=p1.`problemid` AND p1.`labelid`=?1 ORDER BY p.createtime DESC")
    public Page<Problem> findProblemsByLabelid(String label, Pageable pageable);

    //热门问答列表
    //按回复数降序排序
    @Query(nativeQuery = true,value = "SELECT * FROM tb_problem p,tb_pl p1 WHERE p.`id`=p1.`problemid` AND p1.`labelid`=?1 ORDER BY p.reply DESC")
    public Page<Problem> findHostProblemByLabelid(String label,Pageable pageable);
}
